package other;

public class LongestCommonPrefix {
    public static void main(String[] args) {
        String[] strs = {"flower","flal","fi"};
        System.out.println(longestCommonPrefix(strs));
    }
    public static String longestCommonPrefix(String[] strs) {
        if(strs.length == 1 || strs[0].equals("")) {
            return strs[0];
        }
        int p = Integer.MAX_VALUE;
        for (int i = 1; i < strs.length; i++) {
            if(strs[i].equals("")) {
                return "";
            }
            for (int j = 0; j < strs[i].length(); j++) {
                if(strs[0].charAt(j) != strs[i].charAt(j)) {
                    p = Math.min(p,j);
                    break;
                }
                if(j == strs[i].length()-1) {
                    p = Math.min(p,j)+1;
                }
            }
        }
  return strs[0].substring(0,p);









    }
//    public static String longestCommonPrefix(String[] strs) {
//        if(strs.length <= 1 || strs[0].equals("")) {
//            return strs[0];
//        }
//        int p = Integer.MAX_VALUE;
//        for (int i = 1; i < strs.length; i++) {
//            if(strs[i].equals("")) {
//                return "";
//            }
//            int len = Math.min(strs[i].length(),Math.min(strs[0].length() , p));
//            for (int j = 0; j <len; j++) {
//                if(strs[0].charAt(j) != strs[i].charAt(j)) {
//                    p = Math.min(p,j);
//                    break;
//                }
//                if(j == len-1) {
//                    p = Math.min(j,p)+1;
//                }
//            }
//        }
//       return strs[0].substring(0,p);
//    }
}
